Beamforming involves transmitting data through multiple transmit antennas with an appropriate weight vector to weight the transmit signal across the transmit antennas such that the transmitted signal is coherently combined at the receiving device to achieve beamforming gain between the transmitting device and the receiving device. Beamforming techniques are useful in a variety of wireless communication systems such as a system that employs the techniques of IEEE 802.16, known commercially as a WiMAX™ system. A single beamforming weight vector is used for sending a single data stream using standard beamforming techniques.
Beamforming combined with space time code (STC) techniques, denoted hereinafter “BF+STC”, involve combining beamforming and STC techniques to achieve both beamforming gain and spatial diversity gain. In BF+STC applications, two beamforming weight vectors are used. The beamforming weight vectors for both beamforming and BF+STC applications are estimated based on the received uplink frames. The beamforming weight vector is estimated from uplink frames when uplink traffic is available to be sent from a client device to the base station, for example, and then used in the next downlink frame to be sent by the base station to the client device. There may be a period of time after the received uplink transmission that was used to compute the beamforming weight vector before the downlink transmission is to be sent. Thus, the beamforming weight vector may not be reliable when used some period of time after it was computed, particularly when the client device is moving.